Architecture-Based Reliability Modelling of Software Applications

نویسنده

  • Karl Meinke
چکیده

Architecture-based reliability models for software applications are a relatively new type of reliability model that considers the internal structure, or architecture, of the application. Such models have not yet been used in the field to any extent. However, the research community has now provided the theory required for these techniques to be usable by practitioners. The purpose of this thesis is to assess the practical applicability and benefits of using architecture-based reliability modelling on a component-based web application. Two variants of architecture-based models are created and solved for a selected application. The application’s actual reliability is then measured while injecting faults according to the assumptions that were made in the models. The predictions from the models are compared to the measured reliability and are found to be very close. Throughout the process, experiences from the practitioner’s point of view are documented and the usefulness of the models is discussed. The main conclusions are that architecture-based reliability models are straightforward to create and solve, and that they provide significant benefits compared to ad hoc methods: the ability to relate the application’s reliability to the reliabilities of its components, to identify critical components (reliability “hotspots”), and to compare different design options from a reliability perspective. However, during actual usage in the field, the models will struggle to provide accurate estimates because of the difficulty of accurately determining the reliabilities of the individual components, which is a key input to any architecture-based reliability model. The difficulty is partly due to the lack of field data. It is also observed that additional research is required in order to formally quantify the accuracy of the model predictions. While these challenges somewhat reduce the value of the modelling techniques, the overall conclusion is that significant value can be achieved by applying them in real situations. Arkitekturbaserad tillförlitlighetsmodellering av mjukvaruapplikationer Arkitekturbaserade tillförlitlighetsmodeller för mjukvaruapplikationer är en relativt ny typ av tillförlitlighetsmodeller som tar hänsyn till applikationens interna struktur, det vill säga dess arkitektur. Sådana modeller har ännu inte i någon större omfattning tillämpats på verkliga applikationer. Men forskningen har kommit så långt att modelleringstypen nu bör vara användbar inom mjukvaruutvecklingsindustrin. Syftet med detta examensarbete är att undersöka hur användbar arkitekturbaserad tillförlitlighetsmodellering är i praktiken och vilka fördelar den ger vid modellering av en komponentbaserad webbapplikation. Två modellvarianter skapas och löses för en utvald applikation. Applikationens faktiska tillförlitlighet mäts sedan samtidigt som fel injiceras i enlighet med de antaganden som gjorts i modellerna. Förutsägelserna från modellerna jämförs med den uppmätta tillförlitligheten och överensstämmelsen visar sig vara god. Erfarenheter ur användarens perspektiv dokumenteras och användbarheten hos modellerna diskuteras. De huvudsakliga slutsatserna är att arkiktekurbaserade tillförlitlighetsmodeller är relativt enkla att skapa och att de ger betydande fördelar jämfört med informella tekniker. Bland annat ger de möjlighet att relatera applikationens tillförlitlighet till tillförlitligheten hos dess komponenter, att identifiera kritiska komponenter samt att jämföra olika designalternativ ur ett tillförlitlighetsperspektiv. När modellerna används i ett verkligt sammanhang kommer de dock inte kunna ge särskilt exakta förutsägelser av applikationens tillförlitlighet. Detta beror i framförallt på svårigheten att exakt bestämma tillförlitligheten hos applikationens komponenter, vilken utgör en viktig indata till modellerna. Svårigheten beror delvis på att det nästan helt saknas mätdata från verkliga tillämpningar. Dessutom krävs det mer forskning för att formellt kunna bestämma noggrannheten eller korrektheten hos modellernas förutsägelser. Trots att dessa omständigheter till viss del urholkar nyttan med de arkitekturbaserade tillförlitlighetsmodellerna är ändå den övergripande slutsatsen att dessa trots det kan vara till substansiell nytta, även när de tillämpas i verkliga fall.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A UML Profile for Software Architectures and Peer to Peer Dependable Applications

Peer-to-peer (p2p) applications exhibit characteristics such as dynamic network topology and configuration, heterogeneity and scalability that make their development a complicated task. This is further aggravated due to the required satisfaction of dependability properties, i.e. security, availability, reliability, etc. Furthermore, p2p application requirements are driven by the software archit...

متن کامل

Integrated software architecture-based reliability prediction for IT systems

The ever-increasing demand for IT support within businesses, communities and everyday life has raised the complexity and distribution of modern IT systems, as well as the amount of included software, to levels never known before. In this situation, assuring the reliability of an IT system – namely, its ability to deliver service as expected to its users – constitutes a major challenge. The reli...

متن کامل

A New Architecture Based on Artificial Neural Network and PSO Algorithm for Estimating Software Development Effort

Software project management has always faced challenges that have often had a great impact on the outcome of projects in future. For this, Managers of software projects always seek solutions against challenges. The implementation of unguaranteed approaches or mere personal experiences by managers does not necessarily suffice for solving the problems. Therefore, the management area of software p...

متن کامل

Reliability Analysis of Pipe and Filter Architecture Style

Architecture–based reliability analysis is necessary for a software application that is developed using the component–based software development paradigm. Prevalent architecture–based analysis techniques represent the application architecture by a Markov process, which may be adequate in the context of an application with a general– purpose architecture. The Markov process, however, is not adeq...

متن کامل

An analytical approach to architecture-based software performance and reliability prediction

Conventional approaches to analyze the behavior of software applications are black box based, that is, the software application is treated as a whole and only its interactions with the outside world are modeled. The black box approaches ignore information about the internal structure of the application and the behavior of the individual parts. Hence they are inadequate to model the behavior of ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2009